<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- Import style -->
    <link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css" />
    <!-- Import Vue 3 -->
    <script src="https://unpkg.com/vue@3"></script>
    <!-- Import component library -->
    <script src="https://unpkg.com/element-plus"></script>
    <style>
        #app{
            width: 100%;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
        }
        .card {
            min-width: 200px;
            height: 280px;
            margin: 10px;
        }

    </style>
</head>

<body>
    <div id="app">
        <el-card class="card" v-for="stu in stus">
            <template #header>
                <div class="card-header">
                    <span><el-avatar :size="50" :src="stu.avatar" style="vertical-align: middle;" /></span>
                    <span class="name" style="height: 50px; line-height: 50px; margin-left: 10px;">{{stu.name}}</span>
                </div>
            </template>
            <div>
                <p>年龄：{{stu.age}}</p>
                <p>性别：{{stu.sex}}</p>
                <p>总分：{{stu.score[0]+stu.score[1]+stu.score[2]}}</p>
            </div>
            <el-tooltip placement="bottom" v-if="stu.score[0]>=60&&stu.score[1]>=60&&stu.score[2]>=60">
                <template #content>
                    <p>语文：{{stu.score[0]}}</p>
                    <p>数学：{{stu.score[1]}}</p>
                    <p>英语：{{stu.score[2]}}</p>
                </template>
                <el-button>查看成绩单</el-button>
            </el-tooltip>
        </el-card>
        <el-affix position="bottom" :offset="600" style="position: fixed">
            <el-button type="primary" v-on:click="drawer=true">新增</el-button>
        </el-affix>
        <el-drawer v-model="drawer" title="新增学生成绩" :direction="direction">
            <el-form :model="form" label-width="auto" style="max-width: 600px">
                <el-form-item label="姓名">
                  <el-input v-model="form.name" />
                </el-form-item>
                <el-form-item label="年龄" prop="age">
                    <el-input v-model.number="form.age" />
                  </el-form-item>
                <el-form-item label="性别：">
                  <el-select v-model="form.sex" placeholder="请选择你的性别">
                    <el-option label="男" value="男" />
                    <el-option label="女" value="女" />
                  </el-select>
                </el-form-item>
                <el-form-item label="语文" prop="age">
                    <el-input v-model.number="form.score[0]" />
                  </el-form-item>
                <el-form-item label="数学" prop="age">
                    <el-input v-model.number="form.score[1]" />
                </el-form-item>
                <el-form-item label="英语" prop="age">
                    <el-input v-model.number="form.score[2]" />
                </el-form-item>
                <el-form-item>
                  <el-button type="primary" @click="onSubmit">提交</el-button>
                  <el-button>取消</el-button>
                </el-form-item>
              </el-form>
        </el-drawer>
    </div>
</body>
<script>
    const App = {
        data() {
            return {
                stus: [
                    { id: "", name: "张三", age: 20, sex: "男", score: [80, 89, 90], avatar: "./img/avatar" + Math.floor(Math.random() * 10) + ".png" },
                    { id: "", name: "李四", age: 20, sex: "男", score: [78, 40, 0], avatar: "./img/avatar" + Math.floor(Math.random() * 10) + ".png" },
                    { id: "", name: "王五", age: 20, sex: "男", score: [60, 85, 73], avatar: "./img/avatar" + Math.floor(Math.random() * 10) + ".png" },
                ],
                report: {},
                drawer: false,
                form:{ id: "", name: "", age: 0, sex: "", score: [0, 0, 0], avatar: "./img/avatar" + Math.floor(Math.random() * 10) + ".png" },
            }
        },
        methods: {
            onSubmit(){
                this.stus.push(this.form);
                this.drawer=false;
                this.form={ id: "", name: "", age: 0, sex: "", score: [0, 0, 0], avatar: "./img/avatar" + Math.floor(Math.random() * 10) + ".png" };
            }
        }
    }
    Vue.createApp(App).use(ElementPlus).mount("#app")
</script>

</html>